import javax.media.opengl.*;
import com.sun.opengl.util.*;
import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JSlider;

public class du1 {

    static Animator animator = null;

    public static void main(String[] args) {
        MeshDisplay md = new MeshDisplay(animator); 
        JFrame frame = new JFrame("Cutting plane s mapováním barvy na data");
        GLCanvas canvas = new GLCanvas();
        canvas.addGLEventListener(md);  

        frame.add(canvas);
        frame.setSize(800, 600);
        animator = new Animator(canvas);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JSlider slider = new JSlider(JSlider.HORIZONTAL, 0, 255, 0);
        slider.setPaintTicks(true);
        slider.addChangeListener(md);
        JMenuBar frameMenuBar = new JMenuBar();
        JMenu menu1 = new JMenu("Mapování");
        JMenuItem menuItem1 = new JMenuItem("Stupně šedi");
        menuItem1.addActionListener(md);
        JMenuItem menuItem2 = new JMenuItem("Barevné spektrum");
        menuItem2.addActionListener(md);
        JMenuItem menuItem3 = new JMenuItem("Černobílé");
        menuItem3.addActionListener(md);
        menu1.add(menuItem1);
        menu1.add(menuItem2);
        menu1.add(menuItem3);
        frameMenuBar.add(menu1);
        JMenu menu2 = new JMenu("Osa");
        JMenuItem menuItem4 = new JMenuItem("Osa x");
        menuItem4.addActionListener(md);
        JMenuItem menuItem5 = new JMenuItem("Osa y");
        menuItem5.addActionListener(md);
        JMenuItem menuItem6 = new JMenuItem("Osa z");
        menuItem6.addActionListener(md);
        menu2.add(menuItem4);
        menu2.add(menuItem5);
        menu2.add(menuItem6);
        frameMenuBar.add(menu2);
        frame.setJMenuBar(frameMenuBar);
        frame.getContentPane().add(slider, BorderLayout.SOUTH);
        frame.setVisible(true);
        animator.start();
        animator.setRunAsFastAsPossible(false);
        canvas.requestFocus();
    }
}
